home *** CD-ROM | disk | FTP | other *** search
/ The Arsenal Files 6 / The Arsenal Files 6 (Arsenal Computer).ISO / prg_basi / ddfedit.zip / DDFNWFLD.FRM < prev    next >
Text File  |  1996-02-05  |  13KB  |  424 lines

  1. VERSION 2.00
  2. Begin Form FormNewField 
  3.    BackColor       =   &H00C0C0C0&
  4.    BorderStyle     =   1  'Fixed Single
  5.    Caption         =   "Add New Field"
  6.    ClientHeight    =   1680
  7.    ClientLeft      =   2175
  8.    ClientTop       =   3420
  9.    ClientWidth     =   3945
  10.    ControlBox      =   0   'False
  11.    Height          =   2085
  12.    Left            =   2115
  13.    LinkTopic       =   "Form3"
  14.    MaxButton       =   0   'False
  15.    MinButton       =   0   'False
  16.    ScaleHeight     =   1680
  17.    ScaleWidth      =   3945
  18.    Top             =   3075
  19.    Width           =   4065
  20.    Begin TextBox NewFieldDataType 
  21.       Height          =   285
  22.       Left            =   3720
  23.       TabIndex        =   23
  24.       Top             =   960
  25.       Visible         =   0   'False
  26.       Width           =   180
  27.    End
  28.    Begin TextBox FieldIdx 
  29.       Height          =   285
  30.       Left            =   3360
  31.       TabIndex        =   22
  32.       Top             =   960
  33.       Visible         =   0   'False
  34.       Width           =   180
  35.    End
  36.    Begin TextBox XPath 
  37.       Height          =   285
  38.       Left            =   2040
  39.       TabIndex        =   21
  40.       Top             =   960
  41.       Visible         =   0   'False
  42.       Width           =   180
  43.    End
  44.    Begin TextBox XFDFlags 
  45.       Height          =   285
  46.       Left            =   3000
  47.       TabIndex        =   20
  48.       Top             =   960
  49.       Visible         =   0   'False
  50.       Width           =   180
  51.    End
  52.    Begin TextBox XFDLocation 
  53.       Height          =   285
  54.       Left            =   2760
  55.       TabIndex        =   19
  56.       Top             =   960
  57.       Visible         =   0   'False
  58.       Width           =   180
  59.    End
  60.    Begin TextBox XFDName 
  61.       Height          =   285
  62.       Left            =   2520
  63.       TabIndex        =   18
  64.       Top             =   960
  65.       Visible         =   0   'False
  66.       Width           =   180
  67.    End
  68.    Begin TextBox XFDid 
  69.       Height          =   285
  70.       Left            =   2280
  71.       TabIndex        =   17
  72.       Top             =   960
  73.       Visible         =   0   'False
  74.       Width           =   180
  75.    End
  76.    Begin SSPanel Panel3D5 
  77.       AutoSize        =   3  'AutoSize Child To Panel
  78.       BevelInner      =   1  'Inset
  79.       BevelOuter      =   0  'None
  80.       BorderWidth     =   1
  81.       Caption         =   "Panel3D1"
  82.       Height          =   285
  83.       Left            =   1035
  84.       TabIndex        =   16
  85.       Top             =   1350
  86.       Width           =   870
  87.       Begin TextBox NewFieldDec 
  88.          BorderStyle     =   0  'None
  89.          Height          =   225
  90.          Left            =   30
  91.          MaxLength       =   20
  92.          TabIndex        =   9
  93.          Top             =   30
  94.          Width           =   810
  95.       End
  96.    End
  97.    Begin SSPanel Panel3D4 
  98.       AutoSize        =   3  'AutoSize Child To Panel
  99.       BevelInner      =   1  'Inset
  100.       BevelOuter      =   0  'None
  101.       BorderWidth     =   1
  102.       Caption         =   "Panel3D1"
  103.       Height          =   285
  104.       Left            =   1035
  105.       TabIndex        =   15
  106.       Top             =   990
  107.       Width           =   870
  108.       Begin TextBox NewFieldSize 
  109.          BorderStyle     =   0  'None
  110.          Height          =   225
  111.          Left            =   30
  112.          MaxLength       =   20
  113.          TabIndex        =   7
  114.          Top             =   30
  115.          Width           =   810
  116.       End
  117.    End
  118.    Begin SSPanel Panel3D3 
  119.       AutoSize        =   3  'AutoSize Child To Panel
  120.       BevelInner      =   1  'Inset
  121.       BevelOuter      =   0  'None
  122.       BorderWidth     =   1
  123.       Caption         =   "Panel3D1"
  124.       Height          =   285
  125.       Left            =   1035
  126.       TabIndex        =   14
  127.       Top             =   990
  128.       Visible         =   0   'False
  129.       Width           =   870
  130.       Begin TextBox NewFieldOffset 
  131.          BackColor       =   &H00C0C0C0&
  132.          BorderStyle     =   0  'None
  133.          Enabled         =   0   'False
  134.          Height          =   225
  135.          Left            =   30
  136.          MaxLength       =   20
  137.          MultiLine       =   -1  'True
  138.          TabIndex        =   5
  139.          Top             =   30
  140.          Visible         =   0   'False
  141.          Width           =   810
  142.       End
  143.    End
  144.    Begin CommandButton ButOk 
  145.       Caption         =   "OK"
  146.       Default         =   -1  'True
  147.       Height          =   330
  148.       Left            =   2655
  149.       TabIndex        =   10
  150.       Top             =   1320
  151.       Width           =   1230
  152.    End
  153.    Begin CommandButton butcan 
  154.       Cancel          =   -1  'True
  155.       Caption         =   "Cancel"
  156.       Height          =   330
  157.       Left            =   2640
  158.       TabIndex        =   11
  159.       Top             =   960
  160.       Width           =   1230
  161.    End
  162.    Begin SSPanel Panel3D2 
  163.       AutoSize        =   3  'AutoSize Child To Panel
  164.       BevelInner      =   1  'Inset
  165.       BevelOuter      =   0  'None
  166.       BorderWidth     =   1
  167.       Caption         =   "Panel3D1"
  168.       Height          =   375
  169.       Left            =   1035
  170.       TabIndex        =   13
  171.       Top             =   495
  172.       Width           =   2805
  173.       Begin ComboBox ComboDataType 
  174.          Height          =   315
  175.          Left            =   30
  176.          Style           =   2  'Dropdown List
  177.          TabIndex        =   3
  178.          Top             =   30
  179.          Width           =   2745
  180.       End
  181.    End
  182.    Begin SSPanel Panel3D1 
  183.       AutoSize        =   3  'AutoSize Child To Panel
  184.       BevelInner      =   1  'Inset
  185.       BevelOuter      =   0  'None
  186.       BorderWidth     =   1
  187.       Caption         =   "Panel3D1"
  188.       Height          =   285
  189.       Left            =   1035
  190.       TabIndex        =   12
  191.       Top             =   90
  192.       Width           =   2805
  193.       Begin TextBox NewFieldName 
  194.          BorderStyle     =   0  'None
  195.          Height          =   225
  196.          Left            =   30
  197.          MaxLength       =   20
  198.          TabIndex        =   1
  199.          Top             =   30
  200.          Width           =   2745
  201.       End
  202.    End
  203.    Begin Label Label5 
  204.       BackColor       =   &H00C0C0C0&
  205.       Caption         =   "&Decimal"
  206.       ForeColor       =   &H00FF0000&
  207.       Height          =   195
  208.       Left            =   135
  209.       TabIndex        =   8
  210.       Top             =   1395
  211.       Width           =   825
  212.    End
  213.    Begin Label Label4 
  214.       BackColor       =   &H00C0C0C0&
  215.       Caption         =   "&Size"
  216.       ForeColor       =   &H00FF0000&
  217.       Height          =   195
  218.       Left            =   135
  219.       TabIndex        =   6
  220.       Top             =   1035
  221.       Width           =   825
  222.    End
  223.    Begin Label Label3 
  224.       BackColor       =   &H00C0C0C0&
  225.       Caption         =   "&Offset"
  226.       ForeColor       =   &H00FF0000&
  227.       Height          =   195
  228.       Left            =   135
  229.       TabIndex        =   4
  230.       Top             =   1035
  231.       Visible         =   0   'False
  232.       Width           =   825
  233.    End
  234.    Begin Label Label2 
  235.       BackColor       =   &H00C0C0C0&
  236.       Caption         =   "&Type"
  237.       ForeColor       =   &H00FF0000&
  238.       Height          =   285
  239.       Left            =   135
  240.       TabIndex        =   2
  241.       Top             =   540
  242.       Width           =   825
  243.    End
  244.    Begin Label Label1 
  245.       BackColor       =   &H00C0C0C0&
  246.       Caption         =   "&Name"
  247.       ForeColor       =   &H00FF0000&
  248.       Height          =   195
  249.       Left            =   135
  250.       TabIndex        =   0
  251.       Top             =   135
  252.       Width           =   825
  253.    End
  254. End
  255. Option Explicit
  256.  
  257. Dim inited As Integer
  258.  
  259. Sub butcan_Click ()
  260.   Unload Me
  261. End Sub
  262.  
  263. Sub ButOk_Click ()
  264.   Dim i As Integer
  265.   Dim FormID As Integer
  266.   Dim fidx As Integer
  267.  
  268.   NewFieldName.Text = Trim(NewFieldName.Text)
  269.   If NewFieldName.Text = "" Then
  270.     MsgBox "No Field Name Specified", , "Error"
  271.     Exit Sub
  272.   End If
  273.  
  274.   If Val(NewFieldSize.Text) = 0 Then
  275.     MsgBox "No Size Specified", , "Error"
  276.     Exit Sub
  277.   End If
  278.   
  279. ' look for the parent form
  280.  
  281.   FormID = -1
  282.   For i = 0 To forms.Count - 1
  283.     If forms(i).Tag = "D" & Trim(xfdid.Text) Then
  284.       FormID = i
  285.       Exit For
  286.     End If
  287.   Next i
  288.  
  289.   If FormID = -1 Then
  290.     MsgBox "ERROR : Can't find parent form"
  291.     Exit Sub
  292.   End If
  293.  
  294.   fidx = Val(FieldIdx.Text)
  295.  
  296.   If fidx = -1 Then
  297.     forms(FormID).Llist.AddItem NewFieldName & Chr(9) & Format(ComboDataType.ItemData(ComboDataType.ListIndex), "0") & Chr(9) & Format(Val(NewFieldOffset.Text), "0") & Chr(9) & Format(Val(NewFieldSize.Text), "0") & Chr(9) & Format(Val(NewFieldDec), "0") & Chr(9) & ""
  298.   Else
  299.     forms(FormID).Llist.RemoveItem fidx
  300.     forms(FormID).Llist.AddItem NewFieldName & Chr(9) & Format(ComboDataType.ItemData(ComboDataType.ListIndex), "0") & Chr(9) & Format(Val(NewFieldOffset.Text), "0") & Chr(9) & Format(Val(NewFieldSize.Text), "0") & Chr(9) & Format(Val(NewFieldDec), "0") & Chr(9) & "", fidx
  301.   End If
  302.   
  303.   Curr_File_changed = True
  304.   
  305.   Unload Me
  306.  
  307. End Sub
  308.  
  309. Sub Form_Activate ()
  310.   Dim i As Integer
  311.   
  312.   If inited Then Exit Sub
  313.   If Val(FieldIdx.Text) = -1 Then Exit Sub' its a new field
  314.   For i = 0 To ComboDataType.ListCount - 1
  315.     If ComboDataType.ItemData(i) = Val(NewFieldDataType.Text) Then
  316.       ComboDataType.ListIndex = i
  317.       Exit For
  318.     End If
  319.   Next i
  320.  
  321.   inited = True
  322. End Sub
  323.  
  324. Sub Form_Load ()
  325.   inited = False
  326.   left = (screen.Width - Width) / 2
  327.   top = (screen.Height - Height) / 2
  328.   ComboDataType.Clear
  329.   
  330. '  0 String
  331. '  1 Integer
  332. '  2 Float
  333. '  3 Date
  334. '  4 Time
  335. '  5 Decimal
  336. '  6 Money
  337. '  7 Logical
  338. '  8 Numeric
  339. '  9 Bfloat
  340. ' 10 Lstring
  341. ' 11 Zstring
  342. ' 14 Unsigned
  343. ' 15 AutoInc
  344.   
  345.   ComboDataType.AddItem "String": ComboDataType.ItemData(ComboDataType.NewIndex) = 0
  346.   ComboDataType.AddItem "Integer": ComboDataType.ItemData(ComboDataType.NewIndex) = 1
  347.   ComboDataType.AddItem "Float": ComboDataType.ItemData(ComboDataType.NewIndex) = 2
  348.   ComboDataType.AddItem "Date": ComboDataType.ItemData(ComboDataType.NewIndex) = 3
  349.   ComboDataType.AddItem "Time": ComboDataType.ItemData(ComboDataType.NewIndex) = 4
  350.   ComboDataType.AddItem "Decimal": ComboDataType.ItemData(ComboDataType.NewIndex) = 5
  351.   ComboDataType.AddItem "Money": ComboDataType.ItemData(ComboDataType.NewIndex) = 6
  352.   ComboDataType.AddItem "Logical": ComboDataType.ItemData(ComboDataType.NewIndex) = 7
  353.   ComboDataType.AddItem "Numeric": ComboDataType.ItemData(ComboDataType.NewIndex) = 8
  354.   ComboDataType.AddItem "BFloat": ComboDataType.ItemData(ComboDataType.NewIndex) = 9
  355.   ComboDataType.AddItem "lstring": ComboDataType.ItemData(ComboDataType.NewIndex) = 10
  356.   ComboDataType.AddItem "zstring": ComboDataType.ItemData(ComboDataType.NewIndex) = 11
  357.   ComboDataType.AddItem "Note": ComboDataType.ItemData(ComboDataType.NewIndex) = 12
  358.   ComboDataType.AddItem "lvar": ComboDataType.ItemData(ComboDataType.NewIndex) = 13
  359.   ComboDataType.AddItem "Unsigned": ComboDataType.ItemData(ComboDataType.NewIndex) = 14
  360.   ComboDataType.AddItem "AutoInc": ComboDataType.ItemData(ComboDataType.NewIndex) = 15
  361.  
  362.  
  363.   ComboDataType.ListIndex = 0
  364.  
  365. End Sub
  366.  
  367. Sub Old_ButOK_click ()
  368.   Dim stat As Integer
  369.   Dim KeyNum As Integer
  370.   Dim PosBlk As PosBlkDef
  371.   Dim Keybuf As KeyBufDef
  372.   Dim KeyBufLen As Integer
  373.   Dim BufLen As Integer
  374.   Dim FileFullPath As String
  375.   Dim XDField As XDField_def
  376.   
  377.   
  378.   
  379.   NewFieldName.Text = Trim(NewFieldName.Text)
  380.   If NewFieldName.Text = "" Then
  381.     MsgBox "No Field Name Specified", , "Error"
  382.     Exit Sub
  383.   End If
  384.  
  385.   If Val(NewFieldSize.Text) = 0 Then
  386.     MsgBox "No Size Specified", , "Error"
  387.     Exit Sub
  388.   End If
  389.   
  390. ' Curr_XFDid
  391. ' ************************************************************************************
  392. ' Now we add records to the FIELD.DDF file
  393. ' ************************************************************************************
  394.  
  395.   FileFullPath = XPath.Text & "FIELD.DDF"
  396.   Keybuf.kb = FileFullPath
  397.   KeyBufLen = Len(Keybuf)
  398.   BufLen = 0
  399.  
  400.   
  401.   status "Adding Fields to file " & FileFullPath
  402.   
  403.   stat = btrcall(B_OPEN, PosBlk, XDField, BufLen, Keybuf, KeyBufLen, 0)
  404.   If stat <> 0 Then
  405.     MsgBox "Btrieve Error Opening file " & FileFullPath & Chr(10) & stat & " " & BtErr(stat)
  406.     Exit Sub
  407.   End If
  408.  
  409.   ' Records for FILE.DDF
  410.  
  411.   If AddRecordToFieldDDF(PosBlk, (Val(xfdid.Text)), (NewFieldName.Text), (ComboDataType.ItemData(ComboDataType.ListIndex)), (Val(NewFieldOffset.Text)), (Val(NewFieldSize.Text)), (Val(NewFieldDec.Text)), 0) = False Then
  412.   End If
  413.   
  414.  
  415.   
  416.   
  417.   stat = btrcall(B_CLOSE, PosBlk, XDField, BufLen, Keybuf, KeyBufLen, 0)
  418.   Curr_File_changed = True
  419.   Unload Me
  420.  
  421.  
  422. End Sub
  423.  
  424.